Fast Parallel Implementationof Lazy Languages { The EQUALS Experience 1

نویسندگان

  • Owen Kaser
  • Shaunak Pawagi
  • C. R. Ramakrishnan
  • I. V. Ramakrishnan
چکیده

This paper describes equals, a fast parallel implementation of a lazy functional language on a commercially available shared-memory parallel machine, the Sequent Symmetry. In contrast to previous implementations, we detect parallelism automatically using strictness analysis. Another important diierence between equals and previous implementations is the use of reference counting for memory management, instead of garbage collection. Our implementation shows that reference counting leads to very good scalability, low memory requirements and improved locality. We compare our results with other sequential (SML/NJ) and parallel (h; Gi-machine and GAML) implementations of functional languages.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A High Performance Runtime System for Parallel Evaluation of Lazy Languages

is a system for parallel evaluation of lazy functional programs implemented on a Sequent Symmetry. The distinguishing features of over previous implementations are propagation of Normal Form demand and memory reclamation via reference counting. In an earlier paper, the validity of these ideas was established based on a preliminary implementation. Our experience, based on extensive experimentati...

متن کامل

Garbage Collection, and Memory Eeciency, in Lazy Functional Languages Garbage Collection Recycling Memory

Introduction These introductions normally start with how great lazy functional languages are, how their mathematical purity makes proving the program correct easier, and how easy it is to code up diicult algorithms in a simple manner. They rarely talk about memory management. This is because this is a problem area for lazy functional languages.. The above is a paraphrase of Sin92]. 1 Although o...

متن کامل

Tracing Lazy Functional Languages

We argue that Ariola and Felleisen's and Maraist, Odersky and Wadler's call-by-need lambda calculus forms a suitable formal basis for tracing evaluation in lazy functional languages. 1 Tracing functional languages One major advantage of pure, and especially lazy, functional languages over more conventional imperative languages is in not having to directly and completely specify the order of exe...

متن کامل

Lazy functional languages - abstract interpretation and compilation

Imagine that you get such certain awesome experience and knowledge by only reading a book. How can? It seems to be greater when a book can be the best thing to discover. Books now will appear in printed and soft file collection. One of them is this book lazy functional languages abstract interpretation and compilation. It is so usual with the printed books. However, many people sometimes have n...

متن کامل

Algorithm + Strategy = Parallelism 1 Writing Parallel Programs

The process of writing large parallel programs is complicated by the need to specify both the parallel behaviour of the program and the algorithm that is to be used to compute its result. This paper introduces evaluation strategies, lazy higher-order functions that control the parallel evaluation of non-strict functional languages. Using evaluation strategies, it is possible to achieve a clean ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1992